﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using PFMCandidate;
using PFMConfigurations;

namespace PFMFinders
{
   public abstract class PFMFinder
    {
       protected Target o_Target = null;
       protected PFMFinder()
       {

       }
       protected PFMFinder(Target aTarget)
       {
           if (aTarget != null)
               this.o_Target = aTarget;
       }
       public abstract Candidate FindNext();
       public abstract Candidate GetItem(int iIndex);
       public abstract int GetCount();
       public Candidate this[int iIndex]
       {
           get { return GetItem(iIndex); }
       }
    }
}
